In the field of telephony communication there have been many improvements in technology over the years that have contributed to more efficient use of telephone communication within hosted call-center environments. Most of these improvements involve integrating the telephones and switching systems in such call centers with computer hardware and software adapted for, among other things, better routing of telephone calls, faster delivery of telephone calls and associated information, and improved service with regard to client satisfaction. Such computer-enhanced telephony is known generally in the art as computer-telephony integration (CTI). Generally speaking, CTI implementations of various design and purpose are implemented both within individual call-centers and, in some cases, at the telephone network level. For example, processors running CTI software applications may be linked to telephone switches, service control points (SCP), and network entry points within a public or private telephone network. At the call-center level, CTI-enhanced processors, data servers, transaction servers, and the like, are linked to telephone switches and, in some cases, to similar CTI hardware at the network level, often by a dedicated digital link. CTI processors and other hardware within a call-center are commonly referred to as customer premises equipment (CPE). It is the CTI processor and application software in such centers that provides computer enhancement to a call center.
In a CTI-enhanced call center, telephones at agent stations are connected to a central telephony switching apparatus, such as an automatic call distributor (ACD) switch or a private branch exchange (PBX). The agent stations are usually equipped with computer terminals such as personal computer/video display units (PC/VDU) so that agents manning such stations may have access to stored data as well as being linked to incoming callers by telephone equipment. Such stations may be interconnected through the PC VDU by a local area network (LAN). One or more data or transaction servers may also be connected to the LAN that interconnects agent stations. The LAN is, in turn, typically connected to the CTI processor, which is connected to the call switching apparatus of the call center.
In recent years, advances in computer technology, telephony equipment, and infrastructure have provided many opportunities for improving telephone service in publicly switched and private telephone intelligent networks. Similarly, development of a separate information and data network known as the Internet, together with advances in computer hardware and software have led to a new multimedia telephone system known in the art by several names. In this new systemology, telephone calls are simulated by multimedia computer equipment, and data, such as audio data, is transmitted over data networks as discrete data packets. In this system a broad term used to describe such computer-simulated telephony is Data Network Telephony (DNT).
The computer-simulated, or DNT systems are familiar to those who use and understand computers and data-network systems. Perhaps the best example of DNT is telephone service provided over the Internet, which will be referred to herein as Internet Protocol Network Telephony (IPNT), by far the most extensive, but still a subset of DNT.
In addition to IPNT calls, a DNT center may also share other forms of media with customers accessing the system through their computers. E-mails, video mails, fax, file share, file transfer, video calls, and so forth are some of the other forms of media, which may be used. This capability of handling varied media leads to the term multimedia communications center. A multimedia communications center may be a combination CTI and DNT center, or may be a DNT center capable of receiving connection-oriented switched telephony (COST) calls and converting them to a digital DNT format for management within the communication center environment. The term communication center will replace the term call center hereinafter in this specification in deference to multimedia capabilities.
Keeping contact histories, reporting statistics, creating routing rules and the like becomes more complex as newer types of media are added to communication center capability. Additional hardware implementations such as servers, processors, etc. are generally required to aid full multimedia communication and reporting. Therefore, it is desirable that interactions of all multimedia sorts be analyzed, recorded, and routed according to enterprise (business) rules in a manner that provides seamless integration between media types and application types, thereby allowing agents to respond intelligently and efficiently to customer queries and problems.
It is important in a communication center environment that different types of applications are able to directly transact with each other for the purpose of efficient and seamless interoperability between customer and agent. This fact must be true in an agent desktop as well as over a network. One of the challenges facing a communication center, for example, is how to provide efficient agent scripting tools during an automated outbound call campaign. The agent involved in such a campaign must have reportable status for routing purposes; access to various communication center resources prior to and during a call connection; and knowledge of contact and call records.
A method of interprocess communication known in the art as Dynamic Data Exchange (DDE) is a feature of Windows® operating system (O/S) that allows two programs to share data or send commands directly to each other. DDE can be thought of as a direct conversation between two application programs. In most cases, one application is providing some form of data (such as either text or graphics) to another application. The application that is the source of the data is called the “server” and the application that is receiving the data is called the “client”. The process works through a shared memory and a software module termed a software wedge that enables data synchronization between a client and server application by DDE linking in real time. Generally a client application initiates a session to receive data from a server application.
In Windows®, DDE is used for data sharing and command application between word processing applications and data source applications such as with a spread sheet program and a database program. An extension to DDE known in the art as Net DDE allows two programs, each residing in separate computers, to transact over a data network.
In current art telephony applications, software developers create proprietary scripting applications for agent's desktops that interact with communication center telephony routing and communication software. These solutions are typically protocol-specific and are not easily integrated with other, and competing applications of different protocols without extensive re-engineering of software. It is desirable, however, that communication centers be able to build agent scripting applications and interaction tools using existing products wherein different command and state protocols are automatically mapped to one other, providing thereby communication in real time, and enabling seamless transaction between participating applications.
A good example of a communication center situation where desktop functionality must interact seamlessly with center telephony software is an outbound call and connect campaign. A large outbound call campaign initiates automated calls to destinations on a target list, and upon connection, routes connected calls among a plurality of agents operating desktop applications. As a result, each desktop application must have communication with a transaction routing interface in order to receive calls an also to receive call information about the incoming calls.
Therefore, what is clearly needed is a method and apparatus for providing seamless agent scripting and interaction capability with an automated communication-center call campaign, wherein any DDE-enabled application may be used as a client application and wherein the DDE functionality is incorporated as an agent-specific gateway, a multiplicity of which may simultaneously interact with a central transaction system.